package com.zxq.common.utils;

import com.zxq.common.utils.json.JsonTool;
import com.fasterxml.jackson.core.type.TypeReference;

import java.util.List;
import java.util.Map;

public class JsonUtil {

    public static String toJson(Object obj) {
        return JsonTool.getInstance().toJson(obj);
    }

    public static <T> T toObject(String json, Class<T> clazz) {
        return JsonTool.getInstance().toObject(json, clazz);
    }


    public static <T> T toObject(String json, TypeReference<?> valueTypeRef) {
        return JsonTool.getInstance().toObject(json, valueTypeRef);
    }

    public static Map<String, Object> convertToMap(Object fromValue) {
        return JsonTool.getInstance().convertToMap(fromValue);
    }

    public static Map<String, Object> convertToMap(String json) {
        return JsonTool.getInstance().convertToMap(json);
    }

    public static <T> T toObject(byte[] result, Class<T> clazz) {
        return JsonTool.getInstance().toObject(result, clazz);
    }

    public static <T> List<T> toList(String json, Class<T> clazz) {
        return JsonTool.getInstance().toList(json, clazz);
    }

}
